<?php

	require_once "databaseSettings.php";

	class DatabaseHandler {
		
		private $mysqli = NULL;
		
		//Funktion som ansluter till databasen.
		public function Connect(databaseSettings $settings)
		{
			$this->mysqli = new mysqli($settings->host, 
								$settings->user, 
								$settings->password, 
								$settings->database);
			
			if ($this->mysqli->connect_error)
			{
				throw new Exeption($this->mysqli->coconnect_error);
			}
			
			$this->mysqli->set_charset("utf8");
			
			return true;
		}
		
		//Funktion som stänger anslutningen till databasen.
		public function Close()
		{
			return $this->mysqli->close();
		}
		
		//Funktion för att kolla användarnamn och lösenord.
		//Skickar en mysqli_query till databasen och plockar ut alla användarnamn och lösenord och kollar om det matcher de som användaren har skrivit in.
		public function checkUserAndPassword($userName, $password, $sqlQuery)
		{
			$results = $this->mysqli->query($sqlQuery);
			
			while($user = mysqli_fetch_array($results))
			{
				if($user['UserName'] == $userName && $user['Password'] == $password)
				{
					return true;
				}
			}
			
			return false;
		}
		
		//Lägger till / tar bort / uppdaterar i databasen.
		public function InsertUpdateDeleteFromDb($sqlQuery)
		{
			if($this->mysqli->query($sqlQuery) == false)
			{
				throw new Exception($this->mysqli->error);
			}
		}
		
		//test funktion
		public static function Test(DatabaseSettings $settings)
		{
			$database = new DatabaseHandler();
			
			if ($database->Connect($settings) == false)
			{
				echo "Det gick inte att ansluta till databasen.";
				return false;
			}
			
			if ($database->Close() == false)
			{
				echo "Det gick inte att avsluta anslutningen till databasen.";
				return false;
			}
			
			return true;
		}
	}
?>